package Pages;

import org.openqa.selenium.*;
import org.openqa.selenium.support.ui.WebDriverWait;

import java.util.List;

import static org.openqa.selenium.support.ui.ExpectedConditions.presenceOfElementLocated;

/**
 * Created by Asus on 08.02.14.
 */
public class SearchResultPage {
    // Локальные переменный (драйвер и название фильма для поиска)
    private WebDriver driver;
    private String film_name;

    // Конструктор
    public SearchResultPage(WebDriver driver, String film_name) {
        this.driver = driver;
        this.film_name = film_name;
    }

    /**
     * Метод проверки поиска филма: найден ли фильм.
     * @return найден ли фильм (true / false)?
     */
    public boolean foundedFilm() {
        try {
            // Ожидание загрузки найденных фильмов
            // Сначала ожидается хотя бы один фильм
            WebDriverWait wait = new WebDriverWait(driver,10);
            wait.until(presenceOfElementLocated(By.cssSelector(".title")));

            // Получение всех филмов на странице
            List<WebElement>  list_of_films = driver.findElements(By.cssSelector(".title"));

            // Поиск упоминания названия в списке найденных фильмов
            for (WebElement film : list_of_films){
                if (! film.getText().toLowerCase().contains(film_name.toLowerCase())){
                    return false;
                }
            return true;
            }
        }
        catch (NoSuchElementException e){
            return false;
        }
        catch (TimeoutException e){
            return false;
        }
        return false;
    }
}
